package com.wms.mapper;

import com.wms.dto.*;
import com.wms.entity.BReplenishmentDerail;
import com.wms.entity.BReviewDetails;
import com.wms.entity.ReplenishmentOrder;
import com.wms.entity.Suser;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 库管员;(s_user)表数据库访问层
 * @author : http://www.chiner.pro
 * @date : 2025-8-7
 */
@Mapper
public interface BReplenishmentDerailMapper {

    /**
     * 门店以及补货单详情的查询
     * @param dto
     * @return
     */
    List<BReplenishmentDerail> queryOrderDerail( BReplenishmentsDerailDTO dto);
    /**
     * 补货单查询
     * @param dto
     * @return
     */
    List<ReplenishmentOrder> queryOrders(BReplenishmentDerailDTO dto);
    /**
     * 新增补货单内容
     *
     * @param replenishmentOrder 实例对象
     * @return 影响行数
     */
    int insertOrder(ReplenishmentOrder replenishmentOrder);

    /**
     * 更新数据
     *
     * @param suserUpVo 实例对象
     * @return 影响行数
     */
    int update(SuserUpVo suserUpVo);

    /**
     * 通过主键删除数据
     * 物理删除
     * @param id
     * @return 影响行数
     */
    int deleteById(int id);

    /**
     * 逻辑删除
     * @param id
     * @return
     */
    int updateStatus(int id);

    /**
     * 重制密码
     */
    int updatePassword(int id);

    /**
     * 查询最大编码
     * @return
     */
    String selectMaxCode();

    /**
     * 查询补货明细最大编码
     * @return
     */
    String selectMaxCodeOrder();

    /**
     * 根据补货明细id查找补货内容
     * @param detailId
     * @return
     */
    List<BReviewDetails> selectStores(Integer detailId);

    /**
     * 审核门店传输的信息
     * @return
     */
    int updateAuditNum(@Param("id") Integer id, @Param("auditNum")Integer auditNum);
    /**
     * 门店审核通过传输的补货详情信息
     */
    int updateAuditDerail(@Param("detailId") Integer detailId,@Param("auditStatus") Integer auditStatus);

    /**
     * 审核门店添加商品
     */
    int insertProductAndStores(@Param("productId") Integer productId,@Param("storesId") Integer storesId);
}